package com.tianqu.tms.dao;

import java.sql.Timestamp;
import java.util.List;

import com.tianqu.tms.core.exception.TmsDaoException;
import com.tianqu.tms.dto.AucCarInfoDto;
import com.tianqu.tms.dto.BaseCarInfoDto;

public interface AucCarInfoDao {
    /**
     * 根据vin获取车辆信息
     * @param Vin
     * @return
     * @throws TmsDaoException
     */
	public BaseCarInfoDto getAucCar(String Vin) throws TmsDaoException;
	
	/**
	 * 插入竞价车辆信息
	 * @param dto
	 * @throws TmsDaoException
	 */
	public int insertAucCar(AucCarInfoDto dto) throws TmsDaoException;

// 竞价管理修正 Start
	/**
	 * 获得车辆查询结果列表
	 * @param serial
	 * @param licensePlate
	 * @param startTime
	 * @param endTime
	 * @return
	 * @throws TmsDaoException
	 */
	public List<AucCarInfoDto> getaucCarList(String licensePlate,String vin,String startTime)throws TmsDaoException;
// 竞价管理修正 End
	
	/**
	 * 根据车辆ID获得车辆基本信息
	 * @param serial
	 * @return
	 * @throws TmsDaoException
	 */
	public AucCarInfoDto getaucCarBase(String serial)throws TmsDaoException;

	/**
	 * 
	 * 根据车辆ID查询车辆基本信息
	 */
	public AucCarInfoDto findAucCarInfoBySerial(String serial) throws TmsDaoException;

	/**
	 * 更新竞价车辆信息
	 * @param dto
	 * @throws TmsDaoException
	 */
	public void updateCar(AucCarInfoDto dto) throws TmsDaoException;
	/**
	 * 根据车辆ID更新表显里程
	 */
	public void updateMeliageBySerial(String serial,int mm) throws TmsDaoException;
	
	/**
	 * 获得车辆基本信息状态
	 * @param serial
	 * @param updateTime
	 * @return
	 * @throws TmsDaoException
	 */
	public boolean updateStatus(String serial,Timestamp updateTime)throws TmsDaoException;
	
// 竞价管理修正 Start
	/**
	 * 根据车辆ID获得车辆基本信息
	 * @param serial
	 * @return
	 * @throws TmsDaoException
	 */
	public BaseCarInfoDto getBaseCarFromAucCarInfo(String serial)throws TmsDaoException;
// 竞价管理修正 End
}
